home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
17 Bit Software 6: Level 6
/
17 Bit - Level 6 (1998)(Epic Marketing)[!].iso
/
quartz
/
q1172.dms
/
q1172.adf
/
DecimalRead
/
DecRead.Dice
/
decread.c
< prev
next >
Wrap
C/C++ Source or Header
|
1997-04-10
|
2KB
|
89 lines
/* DecRead similar to HexRead but outputs in decimal */
#include <ctype.h>
#include <stdio.h>
char *VERSION = "\0$VER:DecRead 1.0 (15.10.95) T.Collier";
FILE *fp;
void brk(void);
void printbuf(int c, int buffer[]);
void main(int ac, char *av[])
{
char bold_on[] = {27,"[1m"};
char bold_off[] = {27,"[22m"};
char ital_on[] = {27,"[3m"};
char ital_off[] = {27,"[23m"};
int buf[12];
int count1, count2, chr, bytecount = 0;
onbreak(brk);
if(ac == 1)
{
printf("\n%s Must%s supply a %sPATH/FILENAME%s\n\n",
bold_on, bold_off, bold_on, bold_off);
exit(1);
}
if(*av[1] == '?')
{
printf("\n%s%s Usage--%s%s %sDecRead PATH/FILENAME%s",
bold_on, ital_on, bold_off, ital_off, bold_on, bold_off);
printf("\n © T.Collier 1995.\n\n");
exit(0);
}
fp = fopen(av[1], "r");
if(fp == NULL)
{
printf("\n Could %sNOT%s Open file: %s%s%s\n\n",
bold_on, bold_off, bold_on, av[1], bold_off);
exit(1);
}
for(;;)
{
printf("%08d: ",bytecount);
for(count1 = 0; count1 < 12; count1++)
{
if((chr = getc(fp)) == EOF)
{
for(count2 = 0; count2 < (12-count1); count2++)
printf(" ");
printbuf(count1, buf);
fclose(fp);
exit(0);
}
buf[count1] = chr;
printf("%03d ",chr);
}
printbuf(12, buf);
bytecount += 12;
}
exit(0);
}
void printbuf(int c, int buffer[])
{
int loopcount;
printf(" ");
for(loopcount = 0; loopcount < c; loopcount++)
{
if(isprint(buffer[loopcount]))
printf("%c",buffer[loopcount]);
else
printf(".");
}
printf("\n");
}
void brk(void)
{
fclose(fp);
exit(1);
}